12#ifndef ROC_FEC_WRITER_H_
13#define ROC_FEC_WRITER_H_
74 bool resize(
size_t sblen,
size_t rblen);
87 bool apply_sizes_(
size_t sblen,
size_t rblen,
size_t payload_size);
90 void make_repair_packets_();
92 void encode_repair_packets_();
93 void compose_repair_packets_();
94 void write_repair_packets_();
106 size_t cur_payload_size_;
Memory allocator interface.
Base class for non-copyable objects.
FEC block encoder interface.
bool alive() const
Check if writer is still working.
bool valid() const
Check if object is successfully constructed.
virtual void write(const packet::PacketPtr &)
Write packet.
Writer(const WriterConfig &config, packet::FECScheme fec_scheme, IBlockEncoder &encoder, packet::IWriter &writer, packet::IComposer &source_composer, packet::IComposer &repair_composer, packet::PacketPool &packet_pool, core::BufferPool< uint8_t > &buffer_pool, core::IAllocator &allocator)
Initialize.
bool resize(size_t sblen, size_t rblen)
Set number of source packets per block.
Packet composer interface.
Memory allocator interface.
FEC block encoder interface.
Packet composer interface.
FECScheme
FECFRAME scheme.
uint16_t seqnum_t
Packet sequence number in packet stream.
uint16_t blknum_t
FEC block number in a packet stream.
size_t n_repair_packets
Number of FEC packets in block.
size_t n_source_packets
Number of data packets in block.